# #第1关：字符串1：基本操作
# #字符串
# mystr = input()
# #   根据注释信息的提示，完成代码   #
# # ********** Begin *********#
# #滤除字符串左右两端的*和-，并把结果重新赋给mystr
# mystr1 = mystr.strip('*')
# mystr2 = mystr1.strip('-')
# mystr3 = mystr2.strip('-')
# mystr=mystr2.strip('*')
#
# print(mystr)
#
# #统计字符串中'hello'出现的次数，忽略大小写，次数赋给变量count
# count=0
# count1 = mystr.count('hello')
# count2 = mystr.count('hello')
# count=count1+count2
#
# print(count)
#
# #先将字符串转成大写，再所有的'HELLO'替换为'你好'，并把结果重新赋给mystr
# mystr = mystr.upper()
# mystr = mystr.replace('HELLO','你好')
#
# print(mystr)
# #按西文','分隔字符串mystr，结果赋给列表变量rs
# rs=mystr.split(',')
# print(rs)
# #将rs中的字符串重新拼接为一个字符串，字串之间用18个’*‘做分隔符，并把结果重新赋给mystr
# mystr='******************'.join(rs)
# print(mystr)




# #第2关：字符串2：统计文本信息
# #字符串
# indian_poem = """If it looks like a duck,
# swims like a duck,
# and quacks like a duck,
# then it probably is a duck."""
#
# #   根据注释信息的提示，完成代码   #
# # ********** Begin *********#
# #统计文本的行数
# str = indian_poem.split('\n')
# lines=len(str)
#
# print(lines)
#
# #统计文本中各类符号的总数，含标点符号
# count = 0
# for i in indian_poem:
#     count=count+1
# charac_num=count
#
# print(charac_num)
#
# #统计文本中字符 a 出现的数量
#
# a_num=indian_poem.count('a')
#
# print(a_num)
#
# #统计文本中的单词数量
# str2 = indian_poem.split(' ')
# words_num=len(str2)+lines-1
#
# print(words_num)
#
#
# # ********** End **********#




# #第3关：列表1：合并列表
# #list
# #本关任务：合并两个数据列表为一个列表rs，并对其中的元素进行降序排序。
#
#
# list1=[100,-3,45,17,9]
# list2=[11,23,5,37,6,0,9]
#
# # ********** Begin *********#
# rs = list1+list2
# rs.sort(reverse = True)
#
# # ********** End **********#
# print(rs)




# #第4关：列表2：模拟队列操作
# #list
# #本关任务：用列表模拟队列，即删除数据时只删除位置0的元素，插入数据时只在列表的末尾插入。
# #每插入一个元素后，都从队列中删除一个元素
#
# #准备输入的数据
# Input_list=[10, 'x', 'hello', 3.14, '老铁', 666]
#
# #队列，已经有少量数据
# queue=['python',[1,2,3],0]
#
# for item in Input_list:
#     # ********** Begin *********#
#     #在队尾追加数据
#     queue.append(item)
#
#     #删除队首元素
#     del queue[0]
#
#     # ********** End **********#
# print(queue)






# #第5关：列表3：二维列表操作
# #list 二维列表
# #本关任务：求一个向量与二维矩阵的乘积，结果保存在列表result中。
# #向量乘以矩阵的一列，对应位置元素相乘，再将多个乘积相加
# #例如[33,66,99]先与11，44，77相乘再相加,33*11+66*44+99*77
#
#
# vector1=[33,66,99]
# matrix=[[11,22,33], [44,55,66], [77,88,99]]
#
# result=[]
# # ********** Begin *********#
# for i in range(len(matrix)):
#     sum = 0
#     for j in range(len(vector1)):
#         sum = vector1[j]*matrix[j][i]+sum
#     result.append(sum)
#
#
# # ********** End **********#
# print(result)




# #第6关：字典1：基本操作
# #dictory字典基本操作
# #本关任务：创建、合并、打印字典。
#
# #   根据注释信息的提示，完成代码   #
# # ********** Begin *********#
# #建立字典d1，包含内容 "语文":89， "英文":93，"数学":66
# d1 = {'语文':89,'英文':93,'数学':66}
#
# #建立字典d2，包含内容 "Python":100， "物理":80，"数学":99
# d2 = {'Python':100,'物理':80,'数学':99}
#
# #合并两个字典，结果保存到d1中
# d1.update(d2)
#
# #打印d1中的全部数据，每个键-值对打印一行，格式示例"语文:89"，中间没有空格，冒号为英文冒号
# for k,v in d1.items():
#     print(f'{k}:{v}')
#
# # ********** End **********#







# #第7关：字典2：字典的应用
# #dictory字典应用
# #本关任务：统计文本中各类符号的出现次数，用字典变量记录，打印出现次数最高的前5个词，每个词一行，打印格式示例  我:5，其中冒号为西文冒号。
#
# #text ="""我说道：“爸爸，你走吧。”他往车外看了看，说：“我买几个橘子去。你就在此地，不要走动。”我看那边月台的栅栏外有几个卖东西的等着顾客。走到那边月台，须穿过铁道，须跳下去又爬上去。父亲是一个胖子，走过去自然要费事些。我本来要去的，他不肯，只好让他去。我看见他戴着黑布小帽，穿着黑布大马褂，深青布棉袍，蹒跚地走到铁道边，慢慢探身下去，尚不大难。可是他穿过铁道，要爬上那边月台，就不容易了。"""
#
# text =input()
# words_list = list(text)
# words_dict={}
#
# # ********** Begin *********#
# #统计出现次数
# for i in words_list:
#     words_dict[i]=words_list.count(i)
#
#
# # ********** End **********#
# items=list(words_dict.items())
# #逆序排序
# items.sort(key=lambda x:x[1], reverse=True)
# # ********** Begin *********#
# #打印记录
# words_dict=dict(items[0:5])
# for key,value in words_dict.items():
#     print(f'{key}:{value}')
#
# # ********** End **********#





# #第8关：函数1：定义与调用
# #函数
#
# #任务：定义一个函数，将一个二维列表拉直转化为一维列表（扁平化）
#
#
# def flatten(alist):
#     """二维列表扁平化
#     """
#     result=[]
#     # ********** Begin *********#
#     for i in range(2):
#         for j in range(len(alist[i])):
#             result.append(alist[i][j])
#
#     # ********** End **********#
#     return result
#
# #创建一个二维列表
# M=eval(input())
# N=eval(input())
# matrix = [list(range(-10,M*2,2)), list(range(333,333+N))]
#
# # ********** Begin *********#
# #调用函数，结果保存到rs
# rs=flatten(matrix)
#
# # ********** End **********#
#
# print(rs)






#第9关：函数2：生成fibonacci数列
#函数


"""
1）定义一个函数，生成并返回fibonacci数列的前N项，[0,1,1,2,3,5,8...]
2) 求该数列前N项数据的和，保存在total
"""
num=eval(input())
list = []
def gen_list(N):
    # ********** Begin *********#

    a,b=0,1
    for i in range(N):
        list.append(a)
        a,b=b,a+b
    return list

    # ********** End *********#

print(gen_list(num))
total=0
# ********** Begin *********#
#求该数列前N项数据的和
for j in list:
    total = j+total


# ********** End *********#
print(total)